package com.cheetah.start.module.system.domain;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @author xjh
 * @create 2021/7/4
 **/
@Data
@Accessors(chain = true)
@TableName(value = "sys_file")
public class SysFile {

    @TableId(value = "file_id")
    private Integer fileId;

    /** 文件名 */
    private String fileName;

    /** 文件现文件名 */
    private String fileNowName;

    /** 文件大小 */
    private Long fileSize;

    /** 文件存放路径 */
    private String fileRealPath;

    /** 存在的状态 */
    @TableField(exist = false)
    private String existStatus;

    /** 文件全路径 */
    private String filePath;

    /** 文件一半路径 */
    private String fileUrl;

    /** 文件状态 */
    private String fileStatus;

    /** 创建时间 */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新时间 */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    //public static SysFile getFile(MultipartFile file, UpLoadProperty upLoadProperty, String suffix) {
    //    // 原文件名
    //    String originalFilename = file.getOriginalFilename();
    //    // 生成文件名
    //    String generateFileName = MyFileUtil.getDateFileName(file);
    //    // 本地路径
    //    String fullPath = upLoadProperty.getPath() + generateFileName;
    //    if (MySystemUtil.isWin()) {
    //        fullPath = fullPath.replace(StrUtil.SLASH, StrUtil.BACKSLASH);
    //    } else {
    //        fullPath = fullPath.replace(StrUtil.BACKSLASH, StrUtil.SLASH);
    //    }
    //    SysFile sysFile = new SysFile();
    //    sysFile.setFileSize((int) (file.getSize() / 1000))
    //            .setFileName(originalFilename)
    //            // 访问全路径
    //            .setFilePath(MyFileUtil.getHostFullName(suffix, upLoadProperty.getProfileHost(), generateFileName))
    //            // 上传后文件名
    //            .setFileNowName(MyFileUtil.getNowNameByGenerateName(generateFileName))
    //            // 访问半路径
    //            .setFileUrl(MyFileUtil.getHostHalfPath(suffix, generateFileName))
    //            // 文件保存路径
    //            .setFileRealPath(fullPath)
    //            .setCreateTime(new Date())
    //            .setFileStatus(FileStatusEnum.USE.getCode());
    //    return sysFile;
    //}
}
